/*
 * sdb_struct.h
 *
 *  Created on: 2011-6-15
 *      Author: vyouzhi
 */
#ifndef SDB_STRUCT_H_
#define SDB_STRUCT_H_

typedef struct SdbColumn {
	char *field;
	char *value;
	struct SdbColumn *next;
} SdbColumn;

typedef struct SdbRow {
	SdbColumn *firstColumn;
	struct SdbRow *next;
} SdbRow;

typedef struct Sdb {
	struct SdbRow *firstRow;
} Sdb;

SdbColumn *SdbColumn_init(void);
void SdbColumn_destroy(SdbColumn *column); 
SdbRow *SdbRow_init(void); 
void SdbRow_addColumn(SdbRow *row, char *field, char *value); 
void SdbRow_removeColumn(SdbRow *row, int pos); 
int SdbRow_empty(SdbRow *row); 
int SdbRow_length(SdbRow *row); 
SdbColumn SdbRow_GetNode(SdbRow *row, int pos); 
void SdbRow_destroy(SdbRow *row); 
Sdb *Sdb_init(void); 
int Sdb_empty(Sdb *sdb); 
int Sdb_length(Sdb *sdb);
void Sdb_appendRow(Sdb *sdb, SdbRow *newRow); 
void Sdb_destroy(Sdb *sdb); 
void Sdb_destroy(Sdb *sdb); 
void PrintData(Sdb *sdb);
void DestroyData(Sdb *sdb);

#endif /* SDB_STRUCT_H_ */
